<?php
class PermanenciasController extends AppController {

	var $name = 'Permanencias';
	var $uses = array('UsersEquiposOperativo', 'Zona','Permanencia');
	var $helpers = array('Permanencia', 'Access');

	function index() {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$this->Permanencia->recursive = 0;		
		$group_id= $this->Access->getMy('group_id');
		$user_id= $this->Access->getMy('id');
		$eo= $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.user_id'=>$user_id)));
		$zona_id=$this->Zona->find('all',array('conditions'=>array('Zona.id'=>$eo['EquiposOperativo']['zona_id'])));
		if($group_id=="1"){ //Si es administrador
			$zona_id = $this->Zona->find('all');							
		}		
		$this->set(compact('zona_id'));
		
		$this->set('permanencias', $this->paginate());
	}

	function view($id = null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$id) {
			$this->Session->setFlash(__('Invalid permanencia', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('permanencia', $this->Permanencia->read(null, $id));
	}

	function add($bimestre=null, $year=null, $zona=null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!empty($this->data)) {	
			$form=$this->data;			
			$this->Permanencia->create();
			if ($this->Permanencia->save($this->data)) {
				$this->Session->setFlash(__('La permanencia ha sido guardada.', true));
				$this->redirect(array('controller'=>'Zonas','action' => 'informe',$form['Permanencia']['num'],$form['Permanencia']['year'],
																				$form['Permanencia']['zona']));
			} else {
				$this->Session->setFlash(__('La permanencia no ha sido guardada.', true));
			}
		}
		$group_id = $this->Access->getMy('group_id');	
		$this->set(compact('zona', 'bimestre', 'year','group_id'));
	}

	function edit($bimestre=null, $year=null, $zona=null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$bimestre && !$year && !zona && empty($this->data)) {
			$this->Session->setFlash(__('Invalid permanencia', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			$form=$this->data;		
			if ($this->Permanencia->save($this->data)) {
				$this->Session->setFlash(__('La permanencia ha siso guardada', true));
				$this->redirect(array('controller'=>'Zonas','action' => 'informe',$form['Permanencia']['num'],$form['Permanencia']['year'],
																				$form['Permanencia']['zona']));
			} else {
				$this->Session->setFlash(__('The permanencia could not be saved. Please, try again.', true));
			}
		}
		
		$datos = $this->Permanencia->find('first', array('conditions'=>array('Permanencia.zona_id'=>$zona, 
											'AND'=>array('Permanencia.bimestre'=>$year."-".$bimestre))));
		
		$group_id = $this->Access->getMy('group_id');
		$this->set(compact('datos','zona', 'bimestre', 'year','group_id'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for permanencia', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Permanencia->delete($id)) {
			$this->Session->setFlash(__('Permanencia deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Permanencia was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}	
}
?>